package djboom.materials.display.page {
	import djboom.materials.core.BitmapDataCore;
	import djboom.materials.events.PageEvent;

	import org.casalib.display.CasaBitmap;
	import org.casalib.time.Interval;

	import flash.events.Event;

	/**
	 * Титульная страница.
	 * <br>
	 * 
	 * @author DJ BooM 
	 * @since 06.04.2010
	 * 
	 */

	public class Index extends Page {

		// ----------------------------------------------------------------------------
		// Константы класса.
		// ----------------------------------------------------------------------------

		// ----------------------------------------------------------------------------
		// Свойства класса.
		// ----------------------------------------------------------------------------

		private var _changePageInterval:Interval;
		private var _titleBitmap:CasaBitmap;

		// ----------------------------------------------------------------------------
		// Конструктор.
		// ----------------------------------------------------------------------------

		public function Index() {
			super();
		}	 

		// ----------------------------------------------------------------------------
		// Методы класса.
		// ----------------------------------------------------------------------------

		private function changePage():void {
			var pageEvent:PageEvent = new PageEvent(PageEvent.CHANGE);
			pageEvent.pageName = Page.AUTHORS;			dispatchEvent(pageEvent);
		}

		// ----------------------------------------------------------------------------
		// Публичные методы.
		// ----------------------------------------------------------------------------

		override public function init():void {
			_titleBitmap = new CasaBitmap(BitmapDataCore.getBitmapData(BitmapDataCore.PAGE_INDEX));
			addChild(_titleBitmap);
			
			_changePageInterval = Interval.setTimeout(changePage, 5000);
			_changePageInterval.start();
		}

		override protected function clearPage(event:Event):void {
			super.clearPage(event);
			
			_titleBitmap.destroy();
			_titleBitmap = null;
            
			_changePageInterval.destroy();
			_changePageInterval = null;
		}
        
		// ----------------------------------------------------------------------------
        // Публичные свойства.
        // ----------------------------------------------------------------------------
	}
}
